package com.springBoot.springBootSysCore.modules.services.system;

import java.util.List;
import java.util.Map;

import com.springBoot.springBootSysCore.modules.entity.system.SysFileTmp;
import org.springframework.web.multipart.MultipartFile;

import javax.servlet.http.HttpServletRequest;

/**
 * 文件上传
 * @author timo
 *
 */
public interface SysFileTmpService {
	/**
	 * 上传文件id---上传框架提供id-返回缓存id
	 * @param fileId
	 */
	public Map<String,Object> uploadFileId(String fileId, String tmpId);
	/**
	 * 查询全部
	 * @return
	 */
	public List<SysFileTmp> findAll();
	/**
	 * 删除缓存文件
	 * @param fileTmp
	 */
	public void delete(SysFileTmp fileTmp);
	/**
	 * 上传文件 返回路径
	 * @param file
	 * @return
	 */
	public Map<String,Object>  uploadFile(MultipartFile file, String objId);
	/**
	 * 根据文件id和自定义对象id删除缓存对象以及资源
	 * @param fileId
	 * @param objId
	 * @return
	 */
	public Map<String,Object>  deleteFile(String fileId, String objId);

	/**
	 * app上传文件
	 * @param files
	 * @param username 用户名
	 * @param clientDigest 加密令牌
	 * @return
	 */
	Map<String,Object> uploadFile(MultipartFile[] files, String username, String clientDigest);

	/**
	 * app获取图片路径
	 * @param fileTmpId
	 * @return
	 */
    String getPath(String[] fileTmpId);

	Map<String,Object> fileupload(HttpServletRequest httpServletRequest, String username, String clientDigest);
}
